package com.ailesson.order.service;

import com.ailesson.order.model.reply.OrderConfirmReply;
import com.ailesson.order.model.req.OrderFormReq;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ailesson.common.reply.PageResult;
import com.ailesson.order.entity.OrderInfoEntity;
import com.ailesson.order.model.req.OrderInfoQueryReq;
import com.ailesson.order.model.req.OrderInfoReq;
import com.ailesson.order.model.reply.OrderInfoReply;

/**
 * 订单表 订单表
 *
 * @author mac
 * @email mac@gmail.com
 * @date 2024-10-12 21:32:50
 */
public interface OrderInfoService extends IService<OrderInfoEntity> {

    /**
     * 分页查询
     * @param params
     * @return
     */
    PageResult queryPage(OrderInfoQueryReq params);

    /**
     * 查询信息
     * @param id
     * @return
     */
    OrderInfoReply info(Long id);

    /**
     * 更新信息
     * @param orderInfo
     */
    void update(OrderInfoReq orderInfo);

    /**
     * 新增
     * @param orderInfo
     */
    Long add(OrderInfoReq orderInfo);

    Long submitOrder(OrderFormReq orderFormVo);

    OrderConfirmReply getOrderInfoById(Long id);

    void updateOrderStatus(String outTradeNo);
}

